package JoReg

const (
	SD_EXPR       = 257
	SD_EXPR_PRIME = 259
	SD_FACTOR     = 260
	SD_STMT       = 256
	SD_TERM       = 258
	SD_TERM_PRIME = 261

	SD_ACTION_0 = 512
	SD_ACTION_1 = 513
	SD_ACTION_2 = 514
	SD_ACTION_3 = 515
	SD_ACTION_4 = 516

	SD_LP             = 5
	SD_NUM_OR_ID      = 4
	SD_PLUS           = 2
	SD_RP             = 6
	SD_SEMI           = 1
	SD_TIMES          = 3
	SD_EOI            = 0
	SD_WHITE_SPACE    = 7
	SD_UNKNOWN_SYMBOL = 8

	NO_TERMINAL_MAXRANGE = 6
	TERMINAL_MAX_RANGE   = 7
)

func getSymbolStr(symbol int) string {
	switch symbol {
	case SD_EXPR:
		return "EXPR"
	case SD_EXPR_PRIME:
		return "EXPR_PRIME"
	case SD_FACTOR:
		return "FACTOR"
	case SD_STMT:
		return "STMT"
	case SD_TERM:
		return "TERM"
	case SD_TERM_PRIME:
		return "TERM_PRIME"
	case SD_LP:
		return "LEFT_PARENT"
	case SD_NUM_OR_ID:
		return "NUM_OR_ID"
	case SD_PLUS:
		return "PLUS"
	case SD_RP:
		return "RIGHT_PARENT"
	case SD_SEMI:
		return "SEMI"
	case SD_TIMES:
		return "TIMES"
	default:
		return "UNKNOWN SYMBOL"
	}
}
